<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>PowerVR SDK</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<table width="100%">
  <tr>
    <td width="33%">
      <p align="left">&nbsp;<a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
    </td>
    <td width="33%">
      <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
    </td>
    <td width="34%">
      <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
    </td>
  </tr>
</table>
<hr>
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>pvrengine::TimeController Class Reference</h1>Time Controller: Controller of Time.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="TimeController_8h-source.html">TimeController.h</a>&gt;</code>
<p>
<a href="classpvrengine_1_1TimeController-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a0">TimeController</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a1">setNumFrames</a> (const int i32NumFrames)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a2">setAnimationSpeed</a> (const float fAnimationSpeed)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a3">getAnimationSpeed</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a4">setFrame</a> (const float fFrame)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a5">getFrame</a> (const int iTime)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a6">getFPS</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a7">getForwards</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a8">setForwards</a> (const bool bForwards)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a9">getDeltaTime</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a10">setFreezeTime</a> (const bool bFreeze)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a11">start</a> (int iTime)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a12">rewind</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1TimeController.html#a13">fastforward</a> ()</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Time Controller: Controller of Time. 
<p>
<dl compact><dt><b>Description:</b></dt><dd>Time Controller: Controller of Time. </dd></dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="pvrengine::TimeController::TimeController" ></a><p>
<br><br><h3>TimeController</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> pvrengine::TimeController::TimeController </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Description:</b></dt><dd>blank constructor. </dd></dl>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a13" doxytag="pvrengine::TimeController::fastforward" ></a><p>
<br><br><h3>fastforward</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::fastforward </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Description:</b></dt><dd>fastforwards the frame number for the current animation at a higher than normal rate </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a3" doxytag="pvrengine::TimeController::getAnimationSpeed" ></a><p>
<br><br><h3>getAnimationSpeed</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> float pvrengine::TimeController::getAnimationSpeed </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>the animation speed multiplier </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>Retrieve the animation speed value </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a9" doxytag="pvrengine::TimeController::getDeltaTime" ></a><p>
<br><br><h3>getDeltaTime</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> float pvrengine::TimeController::getDeltaTime </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>delta time value </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>retrieve delta time value to allow frame independent calculations </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a7" doxytag="pvrengine::TimeController::getForwards" ></a><p>
<br><br><h3>getForwards</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool pvrengine::TimeController::getForwards </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>true forwards, false backwards </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>returns whether animation is set to go forwards or backwards </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a6" doxytag="pvrengine::TimeController::getFPS" ></a><p>
<br><br><h3>getFPS</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> float pvrengine::TimeController::getFPS </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>frames per second </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>retrieves the calculated frames per second value </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a5" doxytag="pvrengine::TimeController::getFrame" ></a><p>
<br><br><h3>getFrame</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> float pvrengine::TimeController::getFrame </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>iTime</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>iTime</em>&nbsp;</td><td>the current time </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>animation frame </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>retrieve the current frame for the animation </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a12" doxytag="pvrengine::TimeController::rewind" ></a><p>
<br><br><h3>rewind</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::rewind </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Description:</b></dt><dd>rewinds the frame number for the current animation at a higher than normal rate </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a2" doxytag="pvrengine::TimeController::setAnimationSpeed" ></a><p>
<br><br><h3>setAnimationSpeed</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::setAnimationSpeed </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const float&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>fAnimationSpeed</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>fAnimationSpeed</em>&nbsp;</td><td>speed of animation multiplier </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>sets the speed of animation desired </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a8" doxytag="pvrengine::TimeController::setForwards" ></a><p>
<br><br><h3>setForwards</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::setForwards </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>bForwards</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>bForwards</em>&nbsp;</td><td>true forwards, false backwards </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>sets whether animation is to go forwards or backwards </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a4" doxytag="pvrengine::TimeController::setFrame" ></a><p>
<br><br><h3>setFrame</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::setFrame </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const float&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>fFrame</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>fFrame</em>&nbsp;</td><td>animation frame </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>sets the current frame for the animation </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a10" doxytag="pvrengine::TimeController::setFreezeTime" ></a><p>
<br><br><h3>setFreezeTime</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::setFreezeTime </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const bool&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>bFreeze</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>bFreeze</em>&nbsp;</td><td>true for pause, false to run </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>set whether the time controller should advance time or not </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="pvrengine::TimeController::setNumFrames" ></a><p>
<br><br><h3>setNumFrames</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::setNumFrames </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>i32NumFrames</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>i32NumFrames</em>&nbsp;</td><td>number of frames of animation </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>sets the number of frames for the animation to loop over </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a11" doxytag="pvrengine::TimeController::start" ></a><p>
<br><br><h3>start</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::TimeController::start </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>iTime</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>iTime</em>&nbsp;</td><td>for start of demo - usually the current time from the PVRShell </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>starts the timecontroller handling time; mandatory </dd></dl>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="TimeController_8h-source.html">TimeController.h</a></ul>
<br>
<br>
<P align=left><FONT size=2><STRONG><A 
   href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> � 
   1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
<hr>
<address style="align: left;"><small><FONT color=f0f>
Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
</body>
</html>
